"use strict";
// ts数据类型
// number
// string
// boolean
//unknow
//never
//any
//void
//字面量
//下面的四个要会定义
// Array
//枚举
//元祖
//object
//1.number
//2.string
//3.boolean
var num = 10;
//ts会在定义变量的时候规定数据类型
var isTrue = true;
// 4.字面量
var myData;
//字面量类型 有点像常量  在放类型的地方放一个数值 之后就不能变了
//5.数组
// 定义数组的方法：
// let arr: number[] = [1, 2, 3, "aaa"]
var arr1 = [1, 2, 3, 4, "aaa"];
// 还能用泛型来定义数组
var arr2 = ["aa", "bb", "cc"];
//还能用自定义类型和接口定义数组
//后期讲
//6.元祖 tuple 
//规定了长度以及每一项都是什么类型的数组就是元祖
var myTuple = [10, "aaa"];
//7.枚举
var myPush;
(function (myPush) {
    myPush[myPush["keixing"] = 1] = "keixing";
    myPush[myPush["anhuishengwu"] = 2] = "anhuishengwu";
    myPush[myPush["beijingjiyun"] = 3] = "beijingjiyun";
    myPush[myPush["jiyun2"] = 4] = "jiyun2";
    myPush[myPush["jiyun3"] = 5] = "jiyun3";
    myPush[myPush["jiyun4"] = 6] = "jiyun4";
})(myPush || (myPush = {}));
//枚举就是把可能出现的情况用代号或者编号表示 这样数据里存的是编号，但是我们看到的是我们能看明白的描述 比如这里这个枚举代表了打的那种疫苗 
var obj = {
    name: "小明",
    age: 18,
    push: myPush.beijingjiyun
};
console.log(obj);
//8.any  任意类型 可以理解为不受 ts类型的控制
var myAny = 10;
myAny = "aaa";
num = myAny;
//9.unknow 未知类型 unknow 还是一种类型 unknow 受别人的影响
var myUn = 10;
myUn = "aaa";
// num = myUn
//10 void 空 函数没有返回值的时候就返回void
function fun1(a, b) {
    console.log(a + b);
}
//11.never 一般用来抛出错误
function fun2() {
    throw new Error("抛出错误");
}
//12.object
// 可以用自定义类型和接口定义
// 后续会详细讲
